function ret = gui_sound_bounds(dataTable, row, handles)
try
    infile = handles.projectStruct.inFile.name;

    frame_start = handles.project.frame_in;
    frame_end = handles.project.frame_out;

    projectStruct = gui_load_file(handles.main_figure, infile, frame_start, ...
        frame_end, handles.project.output_directory);

    if(isempty(projectStruct))
        warndlg('No frames in the specified range');
        ret = dataTable;
        return
    end

    % Get the new data reflecting all modifications that may have occured
    % inside the function "gui_load_file".
    handles = guidata(handles.main_figure);

    inDirPath = projectStruct.inFile.dirPath
    inFilePrefix = projectStruct.inFile.namePrefixNoPath
    frameRange = projectStruct.inFile.frameRangeArr

    numTestFiles = 5;
    [left, right] = getSoundTrackBounds(projectStruct.readFramesFunctHandle, ...
       frameRange, numTestFiles, ...
       handles.pref.film_type(handles.pref.film_type_default).name);

    % set(handles.extract_button, 'Enable', 'on');

    dataTable(row,1) = left;
    dataTable(row,2) = right;
    %guidata(handles.main_figure,handles);

    ret = dataTable;
catch exception
    gui_exception(exception);
    ret = [];
end
